package edu.uoc.tds.pec4.gestor;

import edu.uoc.tds.pec4.model.SS1_CentroDocente;
import edu.uoc.tds.pec4.model.SS1_TipoRol;
import edu.uoc.tds.pec4.model.SS1_Usuario;
import edu.uoc.tds.pec4.model.SS2_Evento;
import java.rmi.RemoteException;
import java.sql.Date;
import java.util.ArrayList;
import java.util.List;

/**
 * Tecnicas de Desarrollo de Software - (UOC)
 * Gestor Eventos
 * @author Grupo Magicsoftware - Yolanda Jiménez Anaya
 * @version 1.0
 *
 */

public interface GestorEvento  extends GestorDisco {
    public abstract SS2_Evento leeEvento(long idEvento) throws RemoteException;
    public abstract boolean registraEvento(SS2_Evento evento) throws RemoteException;
    public abstract boolean modificaEvento(SS2_Evento evento,String idEvento) throws RemoteException;
    public abstract void borraEvento(long idEvento) throws RemoteException;

    public abstract ArrayList<SS2_Evento> getEventos(Date fechaCelebracion) throws RemoteException;
    public abstract ArrayList<SS1_TipoRol> getRoles() throws RemoteException;
    public List<SS1_CentroDocente> dameListaCentros() throws RemoteException, Exception;
    public List<SS1_CentroDocente> dameListaTipo() throws RemoteException, Exception;
    public List<SS2_Evento> getListaEvento(String p_centro, String FechaDesde,
                                           String FechaHasta) throws RemoteException, Exception;

    public boolean CancelarEventos(List<SS2_Evento> lista) throws RemoteException, Exception;
    public List<SS1_Usuario> getListaAsistentes(List<SS2_Evento> lista) throws RemoteException, Exception;
}

